package com.cleaningcloud.erp.api.domain;

import com.cleaningcloud.common.core.annotation.Excel;
import com.cleaningcloud.common.core.web.domain.TreeEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.List;

/**
 * 仓库管理对象 erp_ware_house
 * 
 * @author cleaningcloud
 * @date 2024-09-26
 */
public class ErpWareHouse extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** ID主键 */
    private Long wareId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String wareName;

    /** 上级仓库 */
    @Excel(name = "上级仓库")
    private Long warePid;

    /** 仓库编号 */
    @Excel(name = "仓库编号")
    private String wareNo;

    /** 存储类型 */
    @Excel(name = "存储类型")
    private Long wareTypes;

    /** 仓库租金 */
    @Excel(name = "仓库租金")
    private BigDecimal wareRant;

    /** 仓库租期 */
    @Excel(name = "仓库租期")
    private Long wareLease;

    /** 层级 */
    @Excel(name = "层级")
    private Long wareLeve;

    /** 负责人ID */
    @Excel(name = "负责人ID")
    private Long userId;

    /** 负责人电话 */
    @Excel(name = "负责人电话")
    private String userPhone;

    /** 人员工资 */
    @Excel(name = "人员工资")
    private BigDecimal wareStaffSalary;

    /** 仓库状态 */
    @Excel(name = "仓库状态")
    private Long wareStatus;

    /** 仓库地址 */
    @Excel(name = "仓库地址")
    private String wareAddress;

    /** 创建人ID */
    @Excel(name = "创建人ID")
    private Long createId;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 备用是否关闭 */
    @Excel(name = "备用是否关闭")
    private String flag;

    /** 备：胜博库用symbol标识 */
    @Excel(name = "备：胜博库用symbol标识")
    private String identifier;

    /** 仓库区分(1项目仓/2个人仓) */
    @Excel(name = "仓库区分(1项目仓/2个人仓)")
    private Long wareType;

    /** 备：该仓库属于项目仓则值为项目ID */
    @Excel(name = "备：该仓库属于项目仓则值为项目ID")
    private Long projectId;

    /** 备：该仓库属于个人仓则值为员工ID */
    @Excel(name = "备：该仓库属于个人仓则值为员工ID")
    private Long staffId;

    /**
     * 生成个人仓数量
     */
    private Integer staffNum;

    /**
     * 岗位Id集合
     */
    private List<Long> postIdList;

    public List<Long> getPostIdList() {
        return postIdList;
    }

    public void setPostIdList(List<Long> postIdList) {
        this.postIdList = postIdList;
    }

    public Integer getStaffNum() {
        return staffNum;
    }

    public void setStaffNum(Integer staffNum) {
        this.staffNum = staffNum;
    }

    public void setWareId(Long wareId)
    {
        this.wareId = wareId;
    }

    public Long getWareId() 
    {
        return wareId;
    }
    public void setWareName(String wareName) 
    {
        this.wareName = wareName;
    }

    public String getWareName() 
    {
        return wareName;
    }
    public void setWarePid(Long warePid) 
    {
        this.warePid = warePid;
    }

    public Long getWarePid() 
    {
        return warePid;
    }
    public void setWareNo(String wareNo) 
    {
        this.wareNo = wareNo;
    }

    public String getWareNo() 
    {
        return wareNo;
    }
    public void setWareTypes(Long wareTypes) 
    {
        this.wareTypes = wareTypes;
    }

    public Long getWareTypes() 
    {
        return wareTypes;
    }
    public void setWareRant(BigDecimal wareRant) 
    {
        this.wareRant = wareRant;
    }

    public BigDecimal getWareRant() 
    {
        return wareRant;
    }
    public void setWareLease(Long wareLease) 
    {
        this.wareLease = wareLease;
    }

    public Long getWareLease() 
    {
        return wareLease;
    }
    public void setWareLeve(Long wareLeve) 
    {
        this.wareLeve = wareLeve;
    }

    public Long getWareLeve() 
    {
        return wareLeve;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserPhone(String userPhone) 
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone() 
    {
        return userPhone;
    }
    public void setWareStaffSalary(BigDecimal wareStaffSalary) 
    {
        this.wareStaffSalary = wareStaffSalary;
    }

    public BigDecimal getWareStaffSalary() 
    {
        return wareStaffSalary;
    }
    public void setWareStatus(Long wareStatus) 
    {
        this.wareStatus = wareStatus;
    }

    public Long getWareStatus() 
    {
        return wareStatus;
    }
    public void setWareAddress(String wareAddress) 
    {
        this.wareAddress = wareAddress;
    }

    public String getWareAddress() 
    {
        return wareAddress;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }
    public void setCreateName(String createName) 
    {
        this.createName = createName;
    }

    public String getCreateName() 
    {
        return createName;
    }
    public void setFlag(String flag) 
    {
        this.flag = flag;
    }

    public String getFlag() 
    {
        return flag;
    }
    public void setIdentifier(String identifier) 
    {
        this.identifier = identifier;
    }

    public String getIdentifier() 
    {
        return identifier;
    }
    public void setWareType(Long wareType) 
    {
        this.wareType = wareType;
    }

    public Long getWareType() 
    {
        return wareType;
    }
    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setStaffId(Long staffId) 
    {
        this.staffId = staffId;
    }

    public Long getStaffId() 
    {
        return staffId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("wareId", getWareId())
            .append("wareName", getWareName())
            .append("warePid", getWarePid())
            .append("wareNo", getWareNo())
            .append("wareTypes", getWareTypes())
            .append("wareRant", getWareRant())
            .append("wareLease", getWareLease())
            .append("wareLeve", getWareLeve())
            .append("userId", getUserId())
            .append("userPhone", getUserPhone())
            .append("wareStaffSalary", getWareStaffSalary())
            .append("wareStatus", getWareStatus())
            .append("wareAddress", getWareAddress())
            .append("remark", getRemark())
            .append("createId", getCreateId())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .append("flag", getFlag())
            .append("identifier", getIdentifier())
            .append("wareType", getWareType())
            .append("projectId", getProjectId())
            .append("staffId", getStaffId())
            .toString();
    }
}
